<?php
namespace app\api\controller;
use app\common\BaseController;
use app\api\model\Monthly as MonthlyModel;
use app\api\model\AlreadyMonthly as AlreadyMonthlyModel;
use app\common\Logs;
class Monthly extends BaseController{
    public function __construct(MonthlyModel $monthlyModel){
        parent::__construct();
        $this->model = $monthlyModel;
    }
    public function index(){
        $params = $this->request->param();
        $data = $this->model->monthlyList($params);
        return $data;
    }    
    //添加
    public function create(){
        $param = $this->request->param();       
        $params = json_decode($param['params'],true);        
        $operator_id = json_decode($param['operator_id'],true);    
        $data = $this->model->allowField(true)->isUpdate(false)->save($params);
        if($data){
            $alreadyMonthlyModel = new AlreadyMonthlyModel();
            $alreadyMonthlyModel->allowField(true)->isUpdate(false)->save($params);
            Logs::add("新增月结记录",$operator_id,"月结", null,json_encode($this->model,JSON_UNESCAPED_UNICODE));    
        } 
        return $this->model;
    }
    //更新
    public function update(){
        $param = $this->request->param();       
        $params = json_decode($param['params'],true);        
        $operator_id = json_decode($param['operator_id'],true); 
        $old = $this->model->where("id",$params['id'])->find();     
        $data = $this->model->allowField(true)->isUpdate(true)->save($params);
        if($data){
            Logs::add("修改月结记录",$operator_id,"月结", json_encode($old,JSON_UNESCAPED_UNICODE),json_encode($this->model,JSON_UNESCAPED_UNICODE));    
        } 
        return $this->model;
    }
    //删除
    public function delete(){
        $params = $this->request->param();
        $old = $this->model->where("id",$params['id'])->find();   
        $data = $this->model->allowField(true)->where('id',$params['id'])->delete();
        if($data){
            Logs::add("删除月结记录",$params['operator_id'],"月结", json_encode($old,JSON_UNESCAPED_UNICODE),json_encode($this->model,JSON_UNESCAPED_UNICODE));    
        } 
        return $data;
    }
}
